package com.sprouting.ops.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sprouting.ops.interfaces.BaseDaoMapper;
import com.sprouting.ops.model.OpsSite;
import com.sprouting.ops.model.qo.OpsSiteQo;
import com.sprouting.ops.model.vo.OpsSiteVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 现场
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2023/11/8 14:42
 */
public interface OpsSiteDao extends BaseDaoMapper<OpsSite> {

    /**
     * 根据名称查询现场，过滤掉指定id
     * @param name 现场名称
     * @param id 现场id，会被过滤
     * @return
     */
    OpsSite getByNameFilterId(@Param("name") String name, @Param("id") String id);

    /**
     * 分页查询现场信息
     * @param page 分页参数
     * @param query 查询参数
     * @return
     */
    Page<OpsSiteVo> getSitePageList(Page page, @Param("query") OpsSiteQo query);

    /**
     * 根据场所ID查询
     * @param siteId 场所ID
     * @return
     */
    OpsSiteVo getSiteById(String siteId);

    /**
     * 获取可添加的场所
     * @param userId 当前用户id
     * @return
     */
    List<OpsSite> getByQuickSite(String userId);

}
